using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BusinessRules;
using Common;
using DataAccess;

public partial class ReporteEpe : System.Web.UI.Page
{

    #region IdentificadorAccId

    public string IdentificadorAccId
    {
        get { return (ViewState["IdentificadorAccId"] == null ? string.Empty : ViewState["IdentificadorAccId"].ToString()); }
        set { ViewState["IdentificadorAccId"] = value; }
    }

    #endregion

    #region IdentificadorFaeId

    public string IdentificadorFaeId
    {
        get { return (ViewState["IdentificadorFaeId"] == null ? string.Empty : ViewState["IdentificadorFaeId"].ToString()); }
        set { ViewState["IdentificadorFaeId"] = value; }
    }

    #endregion

    #region StrPlnId

    public string StrPlnId
    {
        get
        {
            if (ViewState["strPlnId"] != null)
                return ViewState["strPlnId"].ToString();
            else
                return "";
        }
        set { ViewState["strPlnId"] = value; }
    }

    #endregion

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TraerQueryItems();
            cargarBasPlanDecenalNivel1();
            cargarTiposContrato();
            cargarEntidades();
            cargarPlaNancionalDesarrollo();
            cargarDepartamentosEjecucion();
            cargarCampos();
        }
    }

    #region Cargar cargarDepartamentosEjecucion

    private void cargarDepartamentosEjecucion()
    {
        BasZonasGeograficas objBasZonasGeograficas = new BasZonasGeograficas(ConfigurationManager.AppSettings["Conn"]);
        BasZonasGeograficasData objBasZonasGeograficasData = objBasZonasGeograficas.ConsultarZonasGeograficasDepartamento();
        ddlDepartamentoEjecucion.DataSource = objBasZonasGeograficasData;
        ddlDepartamentoEjecucion.DataValueField = BasZonasGeograficasData.ZON_ID_FIELD;
        ddlDepartamentoEjecucion.DataTextField = BasZonasGeograficasData.ZON_NOMBRE_FIELD;
        ddlDepartamentoEjecucion.DataBind();
        ddlDepartamentoEjecucion.Items.Insert(0, new ListItem("", ""));
        ddlDepartamentoEjecucion.SelectedIndex = 0;

    }

    #endregion

    #region cargarTiposContrato

    private void cargarTiposContrato()
    {
        TipoContratos objTipoContratos = new TipoContratos(ConfigurationManager.AppSettings["Conn"]);
        TipoContratosData objTipoContratosData = objTipoContratos.Buscar();
        ddlTipoContrato.DataSource = objTipoContratosData;
        ddlTipoContrato.DataValueField = TipoContratosData.CTC_ID_FIELD;
        ddlTipoContrato.DataTextField = TipoContratosData.CTC_NOMBRE_FIELD;
        ddlTipoContrato.DataBind();
        ddlTipoContrato.Items.Insert(0, new ListItem("", ""));
        ddlTipoContrato.SelectedIndex = 0;

        //rptDocumentosAnexos.DataSource = objTipoContratosData;
        //rptDocumentosAnexos.DataMember = TipoContratosData.CON_TIPO_CONTRATO_TABLE;
        //rptDocumentosAnexos.DataBind();
    }

    #endregion

    private void cargarBasPlanDecenalNivel1()
    {
        BasPlanDecenal objBasPlanDecenal = new BasPlanDecenal(ConfigurationManager.AppSettings["Conn"]);
        BasPlanDecenalData objBasPlanDecenalData = objBasPlanDecenal.BuscarNivel1();
        ddlPlanDecenalNivel1.DataSource = objBasPlanDecenalData;
        ddlPlanDecenalNivel1.DataValueField = BasPlanDecenalData.BPD_ID_FIELD;
        ddlPlanDecenalNivel1.DataTextField = BasPlanDecenalData.BPD_NOMBRE_FIELD;
        ddlPlanDecenalNivel1.DataBind();
        ddlPlanDecenalNivel1.Items.Insert(0, new ListItem("", ""));
        ddlPlanDecenalNivel1.SelectedIndex = 0;

    }


    #region ddlPlanDecenalNivel1_SelectedIndexChanged

    protected void ddlPlanDecenalNivel1_SelectedIndexChanged(object sender, EventArgs e)
    {
        cargarNivel1(ddlPlanDecenalNivel1.SelectedValue);
    }

    #endregion


    #region TraerContextItems

    private void TraerQueryItems()
    {
        if (Request.QueryString["AccId"] != null)
            IdentificadorAccId = Request.QueryString["AccId"];
        if (Request.QueryString["FaeId"] != null)
            IdentificadorFaeId = Request.QueryString["FaeId"];
        if (Request.QueryString["plnId"] != null)
            StrPlnId = Request.QueryString["plnId"];

    }

    #endregion

    private void cargarNivel1(string strId)
    {
        if (strId != "")
        {
            ddlPlanDecenalNivel2.Items.Clear();
            ddlPlanDecenalNivel2.AutoUpdateAfterCallBack = true;

            ddlPlanDecenalNivel3.Items.Clear();
            ddlPlanDecenalNivel3.AutoUpdateAfterCallBack = true;
            cargarBasPlanDecenalNivel2(strId);
        }
    }

    #region cargarBasPlanDecenalNivel2

    public void cargarBasPlanDecenalNivel2(string strBpdIdPadre)
    {
        BasPlanDecenal objBasPlanDecenal = new BasPlanDecenal(ConfigurationManager.AppSettings["Conn"]);
        BasPlanDecenalData objBasPlanDecenalData = objBasPlanDecenal.ConsultarNivel2(strBpdIdPadre);
        ddlPlanDecenalNivel2.DataSource = objBasPlanDecenalData;
        ddlPlanDecenalNivel2.DataValueField = BasPlanDecenalData.BPD_ID_FIELD;
        ddlPlanDecenalNivel2.DataTextField = BasPlanDecenalData.BPD_NOMBRE_FIELD;
        ddlPlanDecenalNivel2.DataBind();

        ddlPlanDecenalNivel2.Items.Insert(0, new ListItem("", ""));
        ddlPlanDecenalNivel2.SelectedIndex = 0;

        ddlPlanDecenalNivel2.UpdateAfterCallBack = true;
        //LimpiarPlanPrograma();
    }

    #endregion
    private void cargarNivel2(string strId)
    {
        if (strId != "")
        {
            ddlPlanDecenalNivel3.Items.Clear();
            ddlPlanDecenalNivel3.AutoUpdateAfterCallBack = true;
            cargarPlaNancionalDesarrollo();
            cargarEntidades();
            cargarBasPlanDecenalNivel3(strId);
        }
    }

    #region cargarBasPlanDecenalNivel3

    public void cargarBasPlanDecenalNivel3(string strBpdIdPadre)
    {
        BasPlanDecenal objBasPlanDecenal = new BasPlanDecenal(ConfigurationManager.AppSettings["Conn"]);
        BasPlanDecenalData objBasPlanDecenalData = objBasPlanDecenal.ConsultarNivel2(strBpdIdPadre);
        ddlPlanDecenalNivel3.DataSource = objBasPlanDecenalData;
        ddlPlanDecenalNivel3.DataValueField = BasPlanDecenalData.BPD_ID_FIELD;
        ddlPlanDecenalNivel3.DataTextField = BasPlanDecenalData.BPD_NOMBRE_FIELD;
        ddlPlanDecenalNivel3.DataBind();

        ddlPlanDecenalNivel3.Items.Insert(0, new ListItem("", ""));
        ddlPlanDecenalNivel3.SelectedIndex = 0;

        ddlPlanDecenalNivel3.UpdateAfterCallBack = true;
        //LimpiarPlanPrograma();
    }

    #endregion

    #region cargarPlaNancionalDesarrollo

    private void cargarPlaNancionalDesarrollo()
    {
        SigPnd objSigPnd = new SigPnd(ConfigurationManager.AppSettings["Conn"]);
        SigPndData objSigPndData = objSigPnd.Buscar();
        ddlPnd.DataSource = objSigPndData;
        ddlPnd.DataValueField = SigPndData.PND_ID_FIELD;
        ddlPnd.DataTextField = SigPndData.PND_OBJETIVO_FIELD;
        ddlPnd.DataBind();
        ddlPnd.Items.Insert(0, new ListItem("Seleccione", ""));
        ddlPnd.SelectedIndex = 0;
    }

    #endregion

    #region cargarCamposEncabezado

    private void cargarCamposEncabezado()
    {
        try
        {
            SigPlanAccion objSigPlanAccion = new SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
            SigPlanAccionData objSigPlanAccionData = objSigPlanAccion.ConsultarPnlId(Convert.ToDecimal(StrPlnId));
            if (objSigPlanAccionData != null)
            {
                DataRow fila = objSigPlanAccionData.Rows[0];
                if(lblGrupo.Text == "" )
                lblDependencia.Text = fila[SigPlanAccionData.DEP_NOMBRE_FIELD].ToString();
                lblRubro.Text = fila[SigPlanAccionData.PLN_NOMBRE_FIELD].ToString();
                fila[SigPlanAccionData.PND_ID_FIELD].ToString();
                //lblCodigoPresupuestal.Text = fila[SigPlanAccionData.PLN_CODIGO_PRESUPUESTAL_FIELD].ToString();
                //decimal decVAlor = Convert.ToDecimal(fila[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD].ToString());
                //lblValorApropiacion.Text = decVAlor.ToString("C");
            }

            SigAccion objSigAccion = new SigAccion(ConfigurationManager.AppSettings["Conn"]);
            SigAccionData objSigAccionData = objSigAccion.ConsultarAccionAccID(IdentificadorAccId);
            //--------------------------------
            //Cargar datos de Subactividades -
            //--------------------------------
            if (objSigAccionData != null)
            {
                DataRow filaAccion = objSigAccionData.Rows[0];
                lblSubActividad.Text = filaAccion[SigAccionData.ACC_DESCRIPCION_FIELD].ToString();

                //decimal decValor = Convert.ToDecimal(filaAccion[SigAccionData.ACC_VALOR_FIELD].ToString());
                //lblValorAccion.Text = decValor.ToString("C");

            }
            //---------------------
            //Cargar datos Actividades -
            //---------------------
            DataTable objTable = objSigAccion.ConsultarActividadesAccID(IdentificadorAccId);
            if (objTable.Rows.Count > 0 && !string.IsNullOrEmpty(objTable.Rows[0]["SAC_NOMBRE"].ToString()) )
            {
                lblActividad.Text = objTable.Rows[0]["SAC_NOMBRE"].ToString();
                lblActividadSuperior.Text = objTable.Rows[0]["SAS_NOMBRE"].ToString();
                
            }

        }
        catch (Exception ex)
        {

            //lblMensaje.Visible = true;
            //Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Error, ex.Message, lblMensaje);
        }

    }

    #endregion

    #region cargarEntidades

    private void cargarEntidades()
    {
        BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
        BasDependenciaData objBasDependenciaData = objBasDependencia.Buscar();
        ddlEntidad.DataSource = objBasDependenciaData;
        ddlEntidad.DataValueField = BasDependenciaData.DEP_ID_FIELD;
        ddlEntidad.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
        ddlEntidad.DataBind();
        ddlEntidad.Items.Insert(0, new ListItem("Presupuesto sector", "0"));
        ddlEntidad.SelectedIndex = 0;
    }

    #endregion

      #region cargarGrupos

    private void cargarGrupos()
    {
        if (ddlDependencias.SelectedIndex != 0)
        {
            string strIdEntidad = ddlDependencias.SelectedItem.Value;

            BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
            if (strIdEntidad.Length > 5)
                strIdEntidad = strIdEntidad.Remove(0, 3);

            BasDependenciaData objBasDependenciaData = objBasDependencia.ConsultarPorEntidad(strIdEntidad);
            ddlGrupos.DataSource = objBasDependenciaData;
            ddlGrupos.DataValueField = BasDependenciaData.DEP_ID_FIELD;
            ddlGrupos.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
            ddlGrupos.DataBind();
            ddlGrupos.Items.Insert(0, new ListItem("Todos", "0"));
            ddlGrupos.SelectedIndex = 0;
        }

    }

    #endregion

    #region cargarCampos

    private void cargarCampos()
    {
        FinAccionEpe objBR = new FinAccionEpe(ConfigurationManager.AppSettings["Conn"]);
        BusinessRules.Contratos objContratos = new BusinessRules.Contratos(ConfigurationManager.AppSettings["Conn"]);
        FinAccionEpeData objFinAccionEpeData = objBR.ConsultarFinAccionEpFaeId(Convert.ToDecimal(IdentificadorFaeId));



        BusinessRules.SigPlanAccion objBR1 = new BusinessRules.SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
        SigPlanAccionData objSigPlanAccionData = objBR1.ConsultarPnlId(Convert.ToInt32(StrPlnId));
        
       
            if (objSigPlanAccionData != null)
            {
                DataRow objRowobjSigPlanAccion = objSigPlanAccionData.Rows[0];
                //IDENTIFICAR SI PERTENECE A UN GRUPO O SI PERTENECE A UNA DEPENDENCIA
                string strDependenciaHijo;
                string strDependenciaPadre;
                string strDependenciaAbuelo;
                strDependenciaHijo = objRowobjSigPlanAccion[SigPlanAccionData.DEP_ID_FIELD].ToString();
                strDependenciaPadre = objRowobjSigPlanAccion[SigPlanAccionData.DEP_ID_PADRE_FIELD].ToString();
                strDependenciaPadre = strDependenciaPadre + strDependenciaPadre;
                ddlEntidad.SelectedValue = strDependenciaPadre;
                filtrarPorEntidad();
                if (ddlEntidad.SelectedValue != "0")
                {
                    ddlDependencias.SelectedValue = strDependenciaHijo;
                    cargarGrupos();
                }

                if (ddlEntidad.SelectedValue == "0")
                {

                    //Consultar quien es el Abuelo
                    BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
                    BasDependenciaData objBasDependenciaData = objBasDependencia.ConsultarPorDepID(strDependenciaPadre);
                    if (objBasDependenciaData.Rows.Count > 0)
                    {
                        strDependenciaAbuelo =
                            objBasDependenciaData.Rows[0][BasDependenciaData.DEP_ID_PADRE_FIELD].ToString();
                        strDependenciaAbuelo = strDependenciaAbuelo + strDependenciaAbuelo;

                        ddlEntidad.SelectedValue = strDependenciaAbuelo;
                        lblGrupo.Text = ddlEntidad.SelectedItem.Text;
                        
                        filtrarPorEntidad();
                        ddlDependencias.SelectedValue = strDependenciaPadre;
                        lblDependencia.Text = ddlDependencias.SelectedItem.Text;
                        cargarGrupos();
                        ddlGrupos.SelectedValue = strDependenciaHijo;
                        lblGrupo.Text = ddlGrupos.SelectedItem.Text;
                       
                    }


                }
                ddlPnd.SelectedValue = objRowobjSigPlanAccion[SigPlanAccionData.PND_ID_FIELD].ToString();
                cargarCamposPnd(ddlPnd.SelectedValue);
                lblObjetivoPND.Text = ddlPnd.SelectedItem.Text;
            }
       


        try
        {
            if (objFinAccionEpeData != null)
            {
                DataRow objRow = objFinAccionEpeData.Rows[0];
                if (objRow[FinAccionEpeData.BPD_ID_FIELD] != null)
                {
                    //primero busca el papa
                    BasPlanDecenal OBJBasPlanDecenal = new BasPlanDecenal(ConfigurationManager.AppSettings["Conn"]);
                    BasPlanDecenalData objBasPlanDecenalData =
                        OBJBasPlanDecenal.ConsultarBasPlanDecenalBpdId(objRow[FinAccionEpeData.BPD_ID_FIELD].ToString());
                    DataRow objRowBasPlanDecenal = objBasPlanDecenalData.Rows[0];
                    string strBpdIdnivel2 = objRowBasPlanDecenal[BasPlanDecenalData.BPD_ID_PADRE_FIELD].ToString();
                    objBasPlanDecenalData = OBJBasPlanDecenal.ConsultarBasPlanDecenalBpdId(strBpdIdnivel2);
                    objRowBasPlanDecenal = objBasPlanDecenalData.Rows[0];
                    string strBpdIdnivel1 = objRowBasPlanDecenal[BasPlanDecenalData.BPD_ID_PADRE_FIELD].ToString();
                    cargarNivel1(strBpdIdnivel1);
                    cargarNivel2(strBpdIdnivel2);
                    ddlPlanDecenalNivel1.SelectedValue = strBpdIdnivel1;
                    ddlPlanDecenalNivel2.SelectedValue = strBpdIdnivel2;
                    ddlPlanDecenalNivel3.SelectedValue = objRow[FinAccionEpeData.BPD_ID_FIELD].ToString();
                }
                lblCampoPolitica.Text = ddlPlanDecenalNivel1.SelectedItem.Text;
                lblPolitica.Text = ddlPlanDecenalNivel2.SelectedItem.Text;
                lblEstrategia.Text = ddlPlanDecenalNivel3.SelectedItem.Text;
                lblJustificacion.Text = objRow[FinAccionEpeData.FAE_JUSTIFICACION_FIELD].ToString();
                lblnumero.Text = objRow[FinAccionEpeData.FAE_NUMERO_CONVENIO_FIELD].ToString();

                //cargar campos rubros y acciones
                cargarCamposEncabezado();

                // CARGAR GRID CON VALORES GUARDADOS
                //RECORRER Y SELECCIONAR EL PAZ_ID
                //PAS_CONSULTAR_FIN_ACCION_EPE_SIG_PRG_ACCION_ZONA_GEOGRAFICA
                DataTable objFinAccionEpeSigPrgAccionZonaGeografica = objBR.ConsultarFinAccionEpeSigPrgAccionZonaGeografica(IdentificadorFaeId.ToString());
                foreach (DataRow objRowF in objFinAccionEpeSigPrgAccionZonaGeografica.Rows)
                {
                    lblLugarEjecucion.Text = lblLugarEjecucion.Text + " " + objRowF["DEPARTAMENTO"] + " : " +
                     objRowF["DEPARTAMENTO"] + ",";
                   break;
                }

                //lbl .Text = objRow[FinAccionEpeData.FAE_ENTIDAD_CONVENIO_FIELD].ToString();
                //if (!String.IsNullOrEmpty(objRow[FinAccionEpeData.ZON_ID_EJECUCION_FIELD].ToString()))
                //{

                //    //sitios Ejecucion
                //    //primero tiene qeue cargar los municipios con el departamento
                //    string zonidDep = objRow[FinAccionEpeData.ZON_ID_EJECUCION_FIELD].ToString().Substring(0, 2);
                //    if (zonidDep != "")
                //    {

                //        cargarMunicipiosEjecucion(zonidDep);
                //        ddlMunicipioEjecucion.SelectedValue = objRow[FinAccionEpeData.ZON_ID_EJECUCION_FIELD].ToString();

                        
                //        ddlDepartamentoEjecucion.SelectedValue = zonidDep;

                //        lblLugarEjecucion.Text = ddlDepartamentoEjecucion.SelectedItem.Text + " " +
                //                                 ddlMunicipioEjecucion.SelectedItem.Text;
                //        cargarResguardosEjecucion(ddlMunicipioEjecucion.SelectedValue);
                //        if (objRow[FinAccionEpeData.RES_ID_EJECUCION_FIELD] != DBNull.Value &&
                //            objRow[FinAccionEpeData.RES_ID_EJECUCION_FIELD].ToString() != "")
                //        {
                //            ddlResguardoEjecucion.SelectedValue =
                //                objRow[FinAccionEpeData.RES_ID_EJECUCION_FIELD].ToString();
                //        }
                //    }
                //}

                int intestadoEpe = Convert.ToInt32(objRow[FinAccionEpeData.TPE_ID_FIELD].ToString());

                //if (ddlResguardoEjecucion.SelectedValueInt != 0)
                //{
                //    objRow[FinAccionEpeData.RES_ID_EJECUCION_FIELD] = ddlResguardoEjecucion.SelectedValueInt;
                //}

                lblObjeto.Text = objRow[FinAccionEpeData.FAE_OBJETO_FIELD].ToString();

                if (objRow[FinAccionEpeData.FAE_FECHA_EPE_FIELD].ToString() != "" && objRow[FinAccionEpeData.FAE_NUMEROEPE_FIELD].ToString() != "s")
                {
                    lblFecha.Text = Convert.ToDateTime(objRow[FinAccionEpeData.FAE_FECHA_EPE_FIELD].ToString()).ToShortDateString();
                    //ojo consultar el rubro y traer la vigencia del ep
                    lblnumero.Text = objRow[FinAccionEpeData.FAE_NUMEROEPE_FIELD].ToString() + "-2013";
                }
                lblPlazo.Text = objRow[FinAccionEpeData.FAE_PLAZO_EJECUCION_FIELD].ToString();
                lblObservacionesGenerales.Text = objRow[FinAccionEpeData.FAE_OBSERVACIONES_GENERALES_FIELD].ToString();
                lblValor.Text  = Convert.ToDecimal(objRow[FinAccionEpeData.FAE_VALOR_FIELD].ToString()).ToString("C");







                DataTable objContratosData = objContratos.ConsultarContratosFaeIDNuevo(Convert.ToDecimal(IdentificadorFaeId));
                if (objContratosData != null)
                {
                    DataRow objRowContrato = objContratosData.Rows[0];
                    if (objRowContrato[ContratosData.CTC_ID_FIELD] != null)
                    {
                        ddlTipoContrato.SelectedValue = objRowContrato[ContratosData.CTC_ID_FIELD].ToString();
                    }
                    lblTipoContrato.Text = ddlTipoContrato.SelectedItem.Text;
                    lblOtro.Text = objRowContrato[ContratosData.CON_OTRO_CONTRATO_FIELD].ToString();
                    lblObligaciones.Text = objRowContrato[ContratosData.CON_OBLIGACIONES_CONTRATISTA_FIELD].ToString();
                    lblSupervisor.Text = objRowContrato[ContratosData.CON_SUPERVISOR_FIELD].ToString();
                    lbljustificacionFactoresSeleccion.Text = objRowContrato[ContratosData.CON_JUSTIFICACION_SELECCION_FIELD].ToString();
                    lblFormaPago.Text = objRowContrato[ContratosData.CON_FORMA_PAGO_FIELD].ToString();
                    lblAnalisisGarantias.Text = objRowContrato[ContratosData.CON_ANALISIS_GARANTIAS_FIELD].ToString();
                    lblAnalisisRiesgos.Text = objRowContrato[ContratosData.CON_NIVEL_EXTENSION_RIESGOS_FIELD].ToString();
                    lblNormatividad.Text = objRowContrato[ContratosData.CON_NORMATIVIDAD_FIELD].ToString();
                    lblAnalisisDelValorEstimado.Text = objRowContrato[ContratosData.CON_ANALISIS_VALOR_ESTIMADO_FIELD].ToString();
                }


                DocumentosEpes objDocumentosEpes = new DocumentosEpes(ConfigurationManager.AppSettings["Conn"]);
                FinDocumentosEpesData objFinDocumentosEpesData = objDocumentosEpes.ConsultarDocumentosEpes(IdentificadorFaeId);


                #region  Documentos Anexos Epes

                DataRow objRowDocumentos = objFinDocumentosEpesData.Rows[0];// equivale opcion 1
                chkEstudioDeMercado.Checked = Convert.ToBoolean(objRowDocumentos[FinDocumentosEpesData.FED_VALOR_FIELD].ToString());
               lblEstudioDeMercado.Text = objRowDocumentos[FinDocumentosEpesData.FED_RESPONSABLE_FIELD].ToString();

                objRowDocumentos = objFinDocumentosEpesData.Rows[1];
                chkLicencias.Checked = Convert.ToBoolean(objRowDocumentos[FinDocumentosEpesData.FED_VALOR_FIELD].ToString());
                lblLicencias.Text = objRowDocumentos[FinDocumentosEpesData.FED_RESPONSABLE_FIELD].ToString();

                objRowDocumentos = objFinDocumentosEpesData.Rows[2];
                chkCertificadoRecursosHumanos.Checked = Convert.ToBoolean(objRowDocumentos[FinDocumentosEpesData.FED_VALOR_FIELD].ToString());
                lblCertificadoRecursosHumanos.Text = objRowDocumentos[FinDocumentosEpesData.FED_RESPONSABLE_FIELD].ToString();


                objRowDocumentos = objFinDocumentosEpesData.Rows[3];
                chkTerminosReferencia.Checked = Convert.ToBoolean(objRowDocumentos[FinDocumentosEpesData.FED_VALOR_FIELD].ToString());
                lblTerminosReferencia.Text = objRowDocumentos[FinDocumentosEpesData.FED_RESPONSABLE_FIELD].ToString();
                //objDSDocumentos.Add(objRowDocumentos);

                objRowDocumentos = objFinDocumentosEpesData.Rows[4];
                chkSolicitudEpe.Checked = Convert.ToBoolean(objRowDocumentos[FinDocumentosEpesData.FED_VALOR_FIELD].ToString());
                lblSolicitudesEPs.Text = objRowDocumentos[FinDocumentosEpesData.FED_RESPONSABLE_FIELD].ToString();


                objRowDocumentos = objFinDocumentosEpesData.Rows[5];
                chkOtrosDocumentos.Checked = Convert.ToBoolean(objRowDocumentos[FinDocumentosEpesData.FED_VALOR_FIELD].ToString());
                lblOtrosDocuementos.Text = objRowDocumentos[FinDocumentosEpesData.FED_RESPONSABLE_FIELD].ToString();



                #endregion

                //CONSULTAR EPE

                if (lblGrupo.Text == "")
                {
                    lblGrupo.Text = lblDependencia.Text;
                }
            }
        }
        catch (Exception ex)
        {

            //lblMensaje.CssClass = "error";
            //lblMensaje.Visible = true;
            //lblMensaje.Text = Utilidad.TraerMensaje("gmsgErrorGeneral");
        }
    }

    #endregion

     #region filtrarPorEntidad

    private void filtrarPorEntidad()
    {
        if (ddlEntidad.SelectedItem.Value != "0")
        {
            cargarDependencias();
        }
        else
        {
            //limpiarGrupos();
            //limpiarDependencias();
            //    SigPlanAccionDataTable = null;
            //    cargarInversionFuncionamiento();
        }
    }

    #endregion

    #region cargarCamposPnd

    private void cargarCamposPnd(string strPndId)
    {

        SigPnd objSigPnd = new SigPnd(ConfigurationManager.AppSettings["Conn"]);
        SigPndData objSigPndData = objSigPnd.ConsultarPndId(Convert.ToDecimal(strPndId));
        if (objSigPndData != null)
        {
            DataRow objRow = objSigPndData.Rows[0];
            lblEstrategiaPND.Text = objRow[SigPndData.PND_ESTRATEGIA_FIELD].ToString();
            lblProgramaPND.Text = objRow[SigPndData.PND_SUBPROGRAMA_FIELD].ToString();
            //txtEstrategia.AutoUpdateAfterCallBack = true;
            //txtSubprograma.AutoUpdateAfterCallBack = true;
        }
    }

    #endregion
    #region cargarDependencias

    private void cargarDependencias()
    {
        if (ddlEntidad.SelectedIndex != 0)
        {
            string strIdEntidad = ddlEntidad.SelectedItem.Value;

            BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
            if (strIdEntidad.Length > 3)
                strIdEntidad = strIdEntidad.Remove(0, 2);

            BasDependenciaData objBasDependenciaData = objBasDependencia.ConsultarPorEntidad(strIdEntidad);
            ddlDependencias.DataSource = objBasDependenciaData;
            ddlDependencias.DataValueField = BasDependenciaData.DEP_ID_FIELD;
            ddlDependencias.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
            ddlDependencias.DataBind();
            ddlDependencias.Items.Insert(0, new ListItem("Seleccione", ""));
            ddlDependencias.SelectedIndex = 0;
        }

    }

    #endregion

    #region cargarResguardosEjecucion

    public void cargarResguardosEjecucion(string strZonId)
    {
        BasResguardos objBasResguardos = new BasResguardos(ConfigurationManager.AppSettings["Conn"]);
        BasResguardosData objBasResguardosData = objBasResguardos.ConsultarResguardos(strZonId);
        ddlResguardoEjecucion.DataSource = objBasResguardosData;
        ddlResguardoEjecucion.DataValueField = BasResguardosData.RES_ID_FIELD;
        ddlResguardoEjecucion.DataTextField = BasResguardosData.RES_NOMBRE_FIELD;
        ddlResguardoEjecucion.DataBind();
        ddlResguardoEjecucion.Items.Insert(0, new ListItem("", ""));
        ddlResguardoEjecucion.SelectedIndex = 0;

        ddlResguardoEjecucion.UpdateAfterCallBack = true;
        //LimpiarPlanPrograma();
    }

       #endregion


    #region Cargar Municipios Ejecucion

    public void cargarMunicipiosEjecucion(string strZonIdPadre)
    {
        BasZonasGeograficas objBasZonasGeograficas = new BasZonasGeograficas(ConfigurationManager.AppSettings["Conn"]);
        BasZonasGeograficasData objBasZonasGeograficasData = objBasZonasGeograficas.ConsultarZonasGeograficasPadreZonId(strZonIdPadre);
        ddlMunicipioEjecucion.DataSource = objBasZonasGeograficasData;
        ddlMunicipioEjecucion.DataValueField = BasZonasGeograficasData.ZON_ID_FIELD;
        ddlMunicipioEjecucion.DataTextField = BasZonasGeograficasData.ZON_NOMBRE_FIELD;
        ddlMunicipioEjecucion.DataBind();


        ddlMunicipioEjecucion.UpdateAfterCallBack = true;
        //LimpiarPlanPrograma();
    }

    #endregion

    protected void ddlDepartamentoEjecucion_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    protected void ddlMunicipioEjecucion_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    protected void ddlPlanDecenalNivel1_SelectedIndexChanged1(object sender, EventArgs e)
    {
        cargarNivel1(ddlPlanDecenalNivel1.SelectedValue);
    }
    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        cargarNivel2(ddlPlanDecenalNivel2.SelectedValue);
    }
    protected void ddlPlanDecenalNivel2_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}
